package cn.tedu.controller;

import cn.tedu.pojo.dto.ItemAddDTO;
import cn.tedu.pojo.dto.ItemUpdateDTO;
import cn.tedu.pojo.vo.ItemVo;
import cn.tedu.common.vo.JsonResult;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.ArrayList;
import java.util.List;


/**
 * 商品控制器
 * @author Kiven
 */
@RequestMapping("/item")
@RestController
//@CrossOrigin
public class ItemController {


    // 根据商品id查询商品
    // 示例: localhost:8091/item/1
    @GetMapping("/{id}")
    public JsonResult findItemById(@PathVariable String id){
        System.out.println(id);
        return JsonResult.success();
    }
    // 根据商品属性动态查询商品列表
    // 示例: localhost:8091/item?name=手机&price=1000
    @GetMapping("/search")
    public JsonResult findItemsByParams(String name, String price){
        System.out.println(name);
        System.out.println(price);
        return JsonResult.success();
    }


    @PostMapping
    public JsonResult addItem(@RequestBody @Valid ItemAddDTO itemAddDTO){
        System.out.println("我是新增:"+ itemAddDTO);
        return JsonResult.success();
    }
    // 示例: localhost:8091/item/3
    @DeleteMapping("/{id}")
    public JsonResult deleteItemById(@PathVariable String id){
        System.out.println(id);
        return JsonResult.success();
    }

    @GetMapping
    public JsonResult findItems(){
        List<ItemVo> list = new ArrayList<>();
        for (int i = 0; i < 5; i++) {
            ItemVo vo = new ItemVo();
            vo.setName("手机:"+i);
            vo.setPrice(i+"");
            list.add(vo);
        }
        return JsonResult.success(list);

    }

    @PutMapping
    public JsonResult updateItem(@RequestBody ItemUpdateDTO updateDTO){
        System.out.println("我是修改:"+ updateDTO);
        return JsonResult.success();
    }


}
